package com.jt.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

//实现前后端的交互
@Data
@Accessors(chain = true)
@NoArgsConstructor//无参构造
@AllArgsConstructor//全参构造
public class SysResult   implements Serializable {//规范的写法,序列化
 /*   private Integer status;//状态码    200  201
    private String   msg;//服务器返回的提示信息
    private  Object  data;//    Object  占位   服务器返回的业务数据

    //为了用户使用VO对象,更加的方便  重载一些方法  简化程序的调用
    //静态方法可以直接调用,简便,使用时不需要重新创建对象
    //失败案例
    public  static   SysResult  fail(){
        return  new SysResult(201,"业务执行失败",null);
    }
    //不带参数的正确返回
    public  static  SysResult success(){
        return  new SysResult(200,"业务成功",null);
    }

        //带返回值的正确返回   用户传递什么.返回值就是什么
    public  static  SysResult success(Object data){
        return  new SysResult(200,"业务成功",data);
    }

    public  static  SysResult success(String msg,Object data){
        return  new SysResult(200,msg,data);
    }*/
    private Integer status;
    private  String msg ;
    private  Object data;
    public  static  SysResult fail(){
        return  new SysResult(201,"业务执行失败",null);

    }
    public  static  SysResult success(){
        return  new SysResult(200,"业务执行成功",null);
    }
    public  static  SysResult success(Object data){
        return  new SysResult(200,"业务执行成功",data);
    }
    public  static  SysResult success(String msg, Object data){
        return  new SysResult(200,msg,data);
    }


}